Neo4J একটি গ্রাফ ডেটাবেজ যেখানে ডেটা Nodes (নোড) এবং Relationships (সম্পর্ক) এর মাধ্যমে সংরক্ষণ করা হয়। Properties এবং Labels হল এই ডেটার মূল বৈশিষ্ট্য এবং শ্রেণিবিন্যাস করার উপাদান, যা ডেটা সংগঠিত এবং অনুসন্ধানযোগ্য করে তোলে।
Properties (বৈশিষ্ট্য) কী?
Properties হলো Key-Value Pair আকারে ডেটার বৈশিষ্ট্য সংরক্ষণের উপায়। এটি Nodes এবং Relationships উভয়ের সাথেই যুক্ত থাকে। Properties ডেটার অতিরিক্ত তথ্য ধারণ করে এবং নোড বা সম্পর্ককে আরও বিস্তারিতভাবে বর্ণনা করে।
উদাহরণ:
একটি Person নোডের জন্য Properties হতে পারে:
CREATE (p:Person {name: 'John Doe', age: 30, city: 'Dhaka'})
এখানে:
- name = 'John Doe'
- age = 30
- city = 'Dhaka'
Properties এর বৈশিষ্ট্যসমূহ:
- Key-Value Pair আকারে থাকে।
- একটি নোড বা সম্পর্কের একাধিক Property থাকতে পারে।
- Properties ডেটা অনুসন্ধান এবং ফিল্টারিং এর জন্য ব্যবহার করা হয়।
Properties এর সাথে কোয়্যারির উদাহরণ:
Specific Property অনুসন্ধান:
MATCH (p:Person)
WHERE p.city = 'Dhaka'
RETURN p.name, p.age
এখানে, city Property দ্বারা অনুসন্ধান করে name এবং age রিটার্ন করা হচ্ছে।
Labels (লেবেল) কী?
Labels হলো Nodes শ্রেণিবিন্যাস করার একটি উপায়। এটি নোডকে একটি বা একাধিক শ্রেণীতে বিভক্ত করতে ব্যবহার করা হয়। Labels এর মাধ্যমে সহজেই নোড ফিল্টার এবং অনুসন্ধান করা যায়।
উদাহরণ:
একটি নোডে Person এবং Employee দুটি Label যুক্ত করা যেতে পারে:
CREATE (p:Person:Employee {name: 'Jane Doe', position: 'Manager'})
এখানে:
- Person: একটি সাধারণ লেবেল।
- Employee: বিশেষায়িত লেবেল।
Labels এর বৈশিষ্ট্যসমূহ:
- একটি নোডের এক বা একাধিক Label থাকতে পারে।
- Labels নোডের শ্রেণিবিন্যাস করতে সাহায্য করে।
- Labels দ্রুত ডেটা অনুসন্ধান এবং ম্যানেজমেন্টে ভূমিকা রাখে।
Labels এর সাথে কোয়্যারির উদাহরণ:
Specific Label অনুসন্ধান:
MATCH (e:Employee)
RETURN e.name, e.position
এখানে Employee Label দ্বারা নোডগুলো ফিল্টার করা হয়েছে।
Multiple Labels এর ব্যবহার:
MATCH (p:Person:Employee)
RETURN p.name, p.position
এটি এমন নোড রিটার্ন করবে যেখানে Person এবং Employee দুই লেবেলই রয়েছে।
Properties এবং Labels এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Properties | Labels |
|---|---|---|
| সংজ্ঞা | Key-Value Pair এর মাধ্যমে ডেটার বৈশিষ্ট্য সংরক্ষণ করে। | নোডকে শ্রেণিবিন্যাস করতে সাহায্য করে। |
| ব্যবহার | ডেটার অতিরিক্ত তথ্য সংরক্ষণ। | নোড ক্যাটাগরাইজ করা। |
| সংযুক্তি | Nodes এবং Relationships এর সাথে যুক্ত হয়। | শুধুমাত্র Nodes এর সাথে যুক্ত হয়। |
| কোয়্যারির ভূমিকা | ফিল্টারিং এবং শর্ত প্রয়োগে সহায়ক। | দ্রুত নোড সিলেকশন এবং ফিল্টার। |
সারাংশ
Neo4J তে Properties এবং Labels এর মাধ্যমে ডেটাকে সংগঠিত এবং অনুসন্ধানযোগ্য করা হয়। Properties ডেটার বৈশিষ্ট্য সংরক্ষণে ব্যবহার হয়, যেখানে Labels নোডের শ্রেণিবিন্যাসে সাহায্য করে। উভয়ের সম্মিলিত ব্যবহার Neo4J এর ডেটা মডেলকে আরও শক্তিশালী এবং কার্যকর করে তোলে।
Read more